package uy.edu.ort.cliente;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import uy.edu.ort.utils.Utils;
import uy.edu.ort.ws.AgenciaNoticiasWS;
import uy.edu.ort.ws.AgenciaNoticiasWS_Service;

/**
 *
 * @author 153287-154559
 */
public class ClienteRemoto {

    public String enviarNoticia(String noticia) {
        String ret;
        URL url = null;
        
        if (noticia.isEmpty()) {
            return "El campo Noticia es obligatorio.";
        }
        
        try {
            String wsdl = String.format("http://%s:%s/AgenciaNoticiasWS/AgenciaNoticiasWS?wsdl",
                    Utils.getPropertiesValue("webservice.server"),
                    Utils.getPropertiesValue("webservice.port"));
            url = new URL(wsdl);
        } catch (MalformedURLException ex) {
            Logger.getLogger(ClienteRemoto.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            AgenciaNoticiasWS servicioWS = new AgenciaNoticiasWS_Service(url).getAgenciaNoticiasWSPort();
            ret = servicioWS.recibirNoticia(noticia);
        } catch (Exception ex) {
            ret = "Servicio no disponible.";
        }
        return ret;
    }

    public String consultarTopico(String consulta) {
        String ret;
        URL url = null;
        
        if (consulta.isEmpty()) {
            return "El campo Consulta es obligatorio.";
        }
        
        try {
            String wsdl = String.format("http://%s:%s/AgenciaNoticiasWS/AgenciaNoticiasWS?wsdl",
                    Utils.getPropertiesValue("webservice.server"),
                    Utils.getPropertiesValue("webservice.port"));
            url = new URL(wsdl);
        } catch (MalformedURLException ex) {
            Logger.getLogger(ClienteRemoto.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            AgenciaNoticiasWS servicioWS = new AgenciaNoticiasWS_Service(url).getAgenciaNoticiasWSPort();
            ret = servicioWS.procesarConsulta(consulta);
        } catch (Exception ex) {
            ret = "Servicio no disponible.";
        }
        return ret;
    }
    
    public static String encriptar(String texto)
    {
       return Utils.EncriptarDatos(texto);
    }
     public static String desencriptar(String texto)
    {
       return Utils.DesencriptarDatos(texto);
    }
     
}
